/***********************************************************************
 * Copyright (c)  2017 - 2022, Unicmicro Co.,Ltd .
 * All rights reserved.
 * Filename     : cache.h
 * Description  : cache header file
 * Author(s)    : Mason
 * version      : V1.0
 * Modify date  : 2022-08-04
 ***********************************************************************/
#ifndef __CACHE_H__
#define __CACHE_H__

#include  "um321xF.h"

#define CACHE_SRAM_ADDR_START		0x20003800	//this area can be used as SRAM while cache is disabled
#define CACHE_SRAM_ADDR_END			0x20003FFF	//size 2K bytes

/************************************************************************
 * Function     : cache_init
 * Description  : cache clock enable 
 * Input        : none
 * Return       : none
 ************************************************************************/
void cache_init(void);
	
/************************************************************************
 * Function     : cache_enable
 * Description  : enable cache
 * Input        : none
 * Return       : none
 ************************************************************************/
void cache_enable(void);

/************************************************************************
 * Function     : cache_disable
 * Description  : disable cache
 * Input        : none
 * Return       : none
 ************************************************************************/
void cache_disable(void);

/************************************************************************
 * Function     : cache_clear
 * Description  : clear cache
 * Input        : none
 * Return       : none
 ************************************************************************/
void cache_clear(void);

#endif
